//Original
public void deleteDuplicate ( Node n ){
  Node Previous = null;
  Hashtable table = new Hashtable();
  
  while( n != null ){
    if( !table.containsKey(n.data) ) {
      table.put(n.data, true);
      previous = n;
    }
    else if( table.containsKey(n.data) ){
      previous.next = n.next;  
    }
    n = n.next;
  }
}

//When temporary buffer is not allowed.
public void deleteDups(Node head) {
  if(head == null) return;
  if(head == null) return;
  
  while(head.next != null) {
    Node runner = head;
    while(runner.next != null) {
      if(runner.next.data = head.data){
        runner.next = runner.next.next;
      }
      else {
        runner = runner.next;
      }
    }
    head = head.next;
  } 
    


}